import { MultiAgentSystem } from "./ceshi"; // 确保路径与你的文件匹配
import * as readline from 'readline';

// 创建readline接口用于命令行交互
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: true
});

// 初始化多智能体系统（全局实例，避免重复创建）
const multiAgent = new MultiAgentSystem();

// 交互式提问函数
const askQuestion = () => {
  rl.question('👤 请输入你的问题 (输入 quit/exit 退出): ', async (input: string) => {
    // 处理退出命令
    if (input.toLowerCase() === 'quit' || input.toLowerCase() === 'exit') {
      console.log('👋 再见！');
      rl.close();
      process.exit(0);
    }

    // 处理空输入
    if (!input.trim()) {
      console.log("⚠️ 输入不能为空，请重新输入\n");
      askQuestion();
      return;
    }

    // 调用多智能体系统处理问题
    try {
      console.log("\n🤔 处理中...\n");
      const result = await multiAgent.collaborate(input.trim());
      
      // 输出各智能体的分析结果
      console.log("\n📊 === 各智能体分析结果 ===");
      for (const [key, value] of Object.entries(result.individual_results)) {
        console.log(`\n【${key}】\n${value}`);
      }
      
      // 输出最终答案
      console.log("\n\n🎯 === 最终答案 ===");
      console.log(result.final_answer);
      console.log("\n" + "=".repeat(50) + "\n");
      
      askQuestion();
    } catch (error) {
      console.error(`\n❌ 失败: ${error instanceof Error ? error.message : String(error)}\n`);
      askQuestion();
    }
  });
};

// 启动交互流程
console.log("🚀 多智能体协作系统启动成功");
console.log("提示：输入问题获取分析结果，输入 'quit' 或 'exit' 退出程序\n");
askQuestion();